<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        <!-- 这是第一个html内容 -->
        <!-- 标题标签使用示例 -->
        <!-- <h1>hello</h1>
        <h2>hello</h2>
        <h3>hello</h3>
        <h4>hello</h4>
        <h5>hello</h5>
        <h6>hello</h6> -->

        <!-- 段落标签使用示例 -->
        <!-- <p>在封装请求对象前将url存储到redis数据库的set数据结构中，<br>1表示存储成功，0表示存储失败，通过判断返回值确定执行什么逻辑</p>
        <p>存在的问题：</p>
        <p>如果在封装请求时就将url放入set中，此时若是暂停程序，就会导致请求还未抓取完毕，但是url已经全部加入set，后续无法对未抓取完毕的url进行请求（请求对象还要放在调度器中等待调度，没有这么快请求完，而对应的url却已经存在于set中，表示完成抓取）。也就是说程序一旦启动就不能停，若是停了就会造成数据遗漏</p>
        <p>解决方法：</p>
        <p>在封装请求对象时首先判断url是否存在于redis集合中，返回1表示存在，返回0表示不存在，通过判断返回值来确定执行什么逻辑（与上述存储的判断逻辑恰好相反）。当单个请求执行到管道后再将其url存储到redis集合中，也就是我们需要制定一个标准，规定请求执行到哪一步才算真正意义上的执行完毕，虽然实际情况可能会有所出入，但是我们主要完成自己的逻辑自洽即可。</p> -->

        <!-- 格式化标签使用示例 -->
        <!-- 加粗 -->
        <p>加粗效果</p>
        <p>&nbsp;使用<strong>strong标签</strong>进行加粗</p>
        <p>&nbsp;使用<b>b标签</b>进行加粗</p>

        <!-- 倾斜 -->
        <p>倾斜效果</p>
        <p>&nbsp;使用<em>em标签</em>进行倾斜</p>
        <p>&nbsp;使用<i>i标签</i>进行倾斜</p>

        <!-- 删除线 -->
        <p>删除线效果</p>
        <p>&nbsp;使用<del>del标签</del>进行删除</p>
        <p>&nbsp;使用<s>s标签</s>进行删除</p>

        <!-- 下划线 -->
        <p>下划线效果</p>
        <p>&nbsp;使用<ins>ins标签</ins>进行下划线标记</p>
        <p>&nbsp;使用<u>u标签</u>进行下划线标记</p>

        <!-- img标签使用示例 -->
        <p>黑神话-悟空 游戏过场动画截屏</p>
        <p>
            <img src="./img/blackMonkey.png" width="500px" title="黑神话悟空游戏剧照" border="1px" alt="图片加载失败">
        </p>
        
        <!-- a标签使用示例 -->
        <a href="https://www.baidu.com">原地跳转至百度首页</a><br>
        <a href="https://www.taobao.com" target="_blank">新页面跳转至淘宝首页</a>

    </body>
</html>

